[INFO] fetching crate oximedia-analytics 0.1.2...
[INFO] testing oximedia-analytics-0.1.2 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate oximedia-analytics 0.1.2 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate oximedia-analytics 0.1.2
[INFO] finished tweaking crates.io crate oximedia-analytics 0.1.2
[INFO] tweaked toml for crates.io crate oximedia-analytics 0.1.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oximedia-analytics 0.1.2 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oximedia-analytics 0.1.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0ced3022e73f265444f3ca61e8bd25fd55e8ed35e9f7327de44a4a0f37ebf609
[INFO] running `Command { std: "docker" "start" "-a" "0ced3022e73f265444f3ca61e8bd25fd55e8ed35e9f7327de44a4a0f37ebf609", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0ced3022e73f265444f3ca61e8bd25fd55e8ed35e9f7327de44a4a0f37ebf609", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ced3022e73f265444f3ca61e8bd25fd55e8ed35e9f7327de44a4a0f37ebf609", kill_on_drop: false }`
[INFO] [stdout] 0ced3022e73f265444f3ca61e8bd25fd55e8ed35e9f7327de44a4a0f37ebf609
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ab6c76aebe16c18635f1597ca03d07a37e3bc5ec0826eb79c8a61d1e0b9d88c9
[INFO] running `Command { std: "docker" "start" "-a" "ab6c76aebe16c18635f1597ca03d07a37e3bc5ec0826eb79c8a61d1e0b9d88c9", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling oximedia-analytics v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.70s
[INFO] running `Command { std: "docker" "inspect" "ab6c76aebe16c18635f1597ca03d07a37e3bc5ec0826eb79c8a61d1e0b9d88c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab6c76aebe16c18635f1597ca03d07a37e3bc5ec0826eb79c8a61d1e0b9d88c9", kill_on_drop: false }`
[INFO] [stdout] ab6c76aebe16c18635f1597ca03d07a37e3bc5ec0826eb79c8a61d1e0b9d88c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e69dca5c771173f8d2c8d05dae4446703418f8fbed8c6dba1b40a71bf4192fa1
[INFO] running `Command { std: "docker" "start" "-a" "e69dca5c771173f8d2c8d05dae4446703418f8fbed8c6dba1b40a71bf4192fa1", kill_on_drop: false }`
[INFO] [stderr]    Compiling oximedia-analytics v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.04s
[INFO] running `Command { std: "docker" "inspect" "e69dca5c771173f8d2c8d05dae4446703418f8fbed8c6dba1b40a71bf4192fa1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e69dca5c771173f8d2c8d05dae4446703418f8fbed8c6dba1b40a71bf4192fa1", kill_on_drop: false }`
[INFO] [stdout] e69dca5c771173f8d2c8d05dae4446703418f8fbed8c6dba1b40a71bf4192fa1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7130ef58601406c7f2c6575ada359dcc443bf497e557ce025c406a99ee7767e6
[INFO] running `Command { std: "docker" "start" "-a" "7130ef58601406c7f2c6575ada359dcc443bf497e557ce025c406a99ee7767e6", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_analytics-2a8896bf9ac165e0)
[INFO] [stdout] 
[INFO] [stdout] running 188 tests
[INFO] [stdout] test ab_testing::tests::assign_variant_different_users_may_differ ... ok
[INFO] [stdout] test ab_testing::tests::alpha_to_critical_z_values ... ok
[INFO] [stdout] test ab_testing::tests::assign_variant_no_variants_returns_error ... ok
[INFO] [stdout] test ab_testing::tests::assign_variant_single_variant ... ok
[INFO] [stdout] test ab_testing::tests::assign_variant_deterministic_same_user ... ok
[INFO] [stdout] test ab_testing::tests::assign_variant_zero_weight_returns_error ... ok
[INFO] [stdout] test ab_testing::tests::average_watch_duration_basic ... ok
[INFO] [stdout] test ab_testing::tests::bayesian_winner_zero_impressions_returns_error ... ok
[INFO] [stdout] test ab_testing::tests::click_through_rate_basic ... ok
[INFO] [stdout] test ab_testing::tests::bayesian_winner_missing_variant_returns_error ... ok
[INFO] [stdout] test ab_testing::tests::completion_rate_basic ... ok
[INFO] [stdout] test ab_testing::tests::experiment_results_record_methods ... ok
[INFO] [stdout] test ab_testing::tests::is_significant_alpha_01 ... ok
[INFO] [stdout] test ab_testing::tests::bayesian_winner_b_clearly_beats_a ... ok
[INFO] [stdout] test ab_testing::tests::click_through_rate_zero_impressions ... ok
[INFO] [stdout] test ab_testing::tests::winning_variant_by_ctr ... ok
[INFO] [stdout] test ab_testing::tests::winning_variant_by_completion ... ok
[INFO] [stdout] test ab_testing::tests::winning_variant_with_alpha_01 ... ok
[INFO] [stdout] test ab_testing::tests::winning_variant_with_alpha_no_impressions ... ok
[INFO] [stdout] test ab_testing::tests::conversion_rate_basic ... ok
[INFO] [stdout] test ab_testing::tests::z_test_no_difference ... ok
[INFO] [stdout] test ab_testing::tests::z_test_zero_sample_returns_zero ... ok
[INFO] [stdout] test attribution::tests::attribution_empty_segments_error ... ok
[INFO] [stdout] test attribution::tests::attribution_empty_sessions_error ... ok
[INFO] [stdout] test attribution::tests::attribution_zero_duration_error ... ok
[INFO] [stdout] test ab_testing::tests::bayesian_winner_conversion_metric ... ok
[INFO] [stdout] test ab_testing::tests::winning_variant_with_alpha_same_result_as_default ... ok
[INFO] [stdout] test attribution::tests::normalised_credit_sums_to_one ... ok
[INFO] [stdout] test ab_testing::tests::z_test_large_difference_significant ... ok
[INFO] [stdout] test attribution::tests::uniform_equal_segments_equal_credit ... ok
[INFO] [stdout] test attribution::tests::position_weighted_second_half_gets_more_credit ... ok
[INFO] [stdout] test bandit::tests::arm_empirical_mean_correct ... ok
[INFO] [stdout] test bandit::tests::arm_empirical_mean_zero_pulls ... ok
[INFO] [stdout] test bandit::tests::arm_record_outcome_updates_stats ... ok
[INFO] [stdout] test bandit::tests::arm_new_has_jeffreys_prior ... ok
[INFO] [stdout] test bandit::tests::bandit_new_empty_arms_returns_error ... ok
[INFO] [stdout] test bandit::tests::bandit_new_single_arm ... ok
[INFO] [stdout] test bandit::tests::epsilon_greedy_always_exploits_at_zero_epsilon ... ok
[INFO] [stdout] test bandit::tests::epsilon_greedy_explores_at_full_epsilon ... ok
[INFO] [stdout] test bandit::tests::epsilon_greedy_converges_to_best_arm ... ok
[INFO] [stdout] test bandit::tests::regret_tracker_no_steps ... ok
[INFO] [stdout] test bandit::tests::regret_never_negative ... ok
[INFO] [stdout] test bandit::tests::thompson_sampling_returns_valid_arm_index ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_day1_partial_retention ... ok
[INFO] [stdout] test bandit::tests::regret_tracker_accumulates_correctly ... ok
[INFO] [stdout] test bandit::tests::thompson_sampling_converges_to_best_arm ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_empty_users_returns_zeros ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_events_before_cohort_date_ignored ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_empty_events_returns_zeros ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_length_equals_periods_plus_one ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_gradual_decay ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_period0_full_retention ... ok
[INFO] [stdout] test ab_testing::tests::assign_variant_weighted_distribution ... ok
[INFO] [stdout] test ab_testing::tests::bayesian_winner_equal_variants_around_50pct ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_multi_period_full_retention ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_non_cohort_events_ignored ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_user_active_multiple_times_same_day_counted_once ... ok
[INFO] [stdout] test ab_testing::tests::is_significant_alpha_05 ... ok
[INFO] [stdout] test bandit::tests::arm_rankings_sorted_descending ... ok
[INFO] [stdout] test cohort::cohort_analyzer_tests::retention_curve_zero_retention_after_day0 ... ok
[INFO] [stdout] test cohort::tests::cohort_matrix_cells_cover_all_periods ... ok
[INFO] [stdout] test cohort::tests::cohort_average_retention_weighted ... ok
[INFO] [stdout] test cohort::tests::cohort_empty_events_returns_error ... ok
[INFO] [stdout] test cohort::tests::cohort_two_cohorts ... ok
[INFO] [stdout] test cohort::tests::cohort_viewer_counted_once_per_period ... ok
[INFO] [stdout] test cohort::tests::period_offset_next_week_is_one ... ok
[INFO] [stdout] test cohort::tests::truncate_ms_day_epoch_start ... ok
[INFO] [stdout] test cohort::tests::period_offset_same_period_is_zero ... ok
[INFO] [stdout] test cohort::tests::period_offset_next_day_is_one ... ok
[INFO] [stdout] test cohort::tests::cohort_single_cohort_period0_full_retention ... ok
[INFO] [stdout] test cohort::tests::period_offset_event_before_cohort_clamps_to_zero ... ok
[INFO] [stdout] test cohort::tests::truncate_ms_day_mid_day ... ok
[INFO] [stdout] test cohort::tests::truncate_ms_month_different_months ... ok
[INFO] [stdout] test cohort::tests::truncate_ms_month_same_month ... ok
[INFO] [stdout] test cohort::tests::truncate_ms_week_epoch_is_thursday ... ok
[INFO] [stdout] test cohort::tests::truncate_ms_week_stable_within_week ... ok
[INFO] [stdout] test engagement::tests::engagement_empty_sessions ... ok
[INFO] [stdout] test engagement::tests::engagement_content_id_from_first_session ... ok
[INFO] [stdout] test engagement::tests::engagement_forward_seek_penalty ... ok
[INFO] [stdout] test engagement::tests::engagement_rewatch_detected ... ok
[INFO] [stdout] test engagement::tests::engagement_weights_default_sum_to_one ... ok
[INFO] [stdout] test engagement::tests::engagement_trend_slope_method ... ok
[INFO] [stdout] test engagement::tests::engagement_partial_watch_lower_score ... ok
[INFO] [stdout] test engagement::tests::engagement_components_watch_time_capped ... ok
[INFO] [stdout] test engagement::tests::engagement_full_watch_high_score ... ok
[INFO] [stdout] test engagement::tests::engagement_zero_duration ... ok
[INFO] [stdout] test engagement::tests::ranker_empty_input ... ok
[INFO] [stdout] test engagement::tests::ranker_sorted_descending ... ok
[INFO] [stdout] test engagement::tests::ranker_single_item ... ok
[INFO] [stdout] test engagement::tests::slope_flat ... ok
[INFO] [stdout] test engagement::tests::slope_perfectly_increasing ... ok
[INFO] [stdout] test engagement::tests::slope_single_point_returns_zero ... ok
[INFO] [stdout] test engagement::tests::slope_two_points ... ok
[INFO] [stdout] test engagement::tests::slope_perfectly_decreasing ... ok
[INFO] [stdout] test funnel::tests::churn_high_risk_strong_decline ... ok
[INFO] [stdout] test funnel::tests::churn_insufficient_data_returns_error ... ok
[INFO] [stdout] test funnel::tests::funnel_all_viewers_reach_all_milestones ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_conversion_rates_sum_correctly ... ok
[INFO] [stdout] test funnel::tests::churn_low_risk_growing_engagement ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_empty_sessions ... ok
[INFO] [stdout] test funnel::tests::churn_low_engagement_always_high_risk ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_full_conversion_two_steps ... ok
[INFO] [stdout] test ab_testing::tests::winning_variant_no_impressions_returns_none ... ok
[INFO] [stdout] test engagement::tests::engagement_social_score_placeholder ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_empty_steps_returns_empty_report ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_irrelevant_events_ignored ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_no_step0_users_conversion_rate_is_zero ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_multiple_users_independent ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_partial_conversion ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_single_step_single_user ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_step0_first_conversion_rate_always_one ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_three_step_funnel ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_overall_completion_rate ... ok
[INFO] [stdout] test funnel::tests::loyalty_churned_viewer ... ok
[INFO] [stdout] test funnel::tests::funnel_empty_milestones_returns_error ... ok
[INFO] [stdout] test funnel::tests::funnel_dropout_midway ... ok
[INFO] [stdout] test funnel::tests::funnel_empty_sessions_returns_error ... ok
[INFO] [stdout] test funnel::tests::funnel_analyzer_time_window_exceeded_resets ... ok
[INFO] [stdout] test funnel::tests::loyalty_perfect_viewer ... ok
[INFO] [stdout] test funnel::tests::loyalty_empty_sessions ... ok
[INFO] [stdout] test funnel::tests::loyalty_mismatched_lengths_error ... ok
[INFO] [stdout] test quantile::tests::percentiles_basic ... ok
[INFO] [stdout] test quantile::tests::percentiles_empty_returns_error ... ok
[INFO] [stdout] test quantile::tests::percentiles_out_of_range_error ... ok
[INFO] [stdout] test quantile::tests::tdigest_invalid_quantile ... ok
[INFO] [stdout] test quantile::tests::tdigest_merge_produces_consistent_quantiles ... ok
[INFO] [stdout] test quantile::tests::tdigest_uniform_distribution_p50 ... ok
[INFO] [stdout] test quantile::tests::tdigest_min_max_exact ... ok
[INFO] [stdout] test quantile::tests::tdigest_single_value ... ok
[INFO] [stdout] test quantile::tests::tdigest_uniform_distribution_p95 ... ok
[INFO] [stdout] test realtime::tests::bitrate_stats_basic ... ok
[INFO] [stdout] test realtime::tests::aggregator_new_invalid_params ... ok
[INFO] [stdout] test realtime::tests::bitrate_stats_empty_window ... ok
[INFO] [stdout] test realtime::tests::aggregator_new_valid ... ok
[INFO] [stdout] test realtime::tests::concurrent_viewers_does_not_go_negative ... ok
[INFO] [stdout] test realtime::tests::concurrent_viewers_join_leave ... ok
[INFO] [stdout] test retention::tests::average_view_duration_empty_curve ... ok
[INFO] [stdout] test realtime::tests::buffer_events_counted ... ok
[INFO] [stdout] test realtime::tests::peak_concurrent_tracked_per_bucket ... ok
[INFO] [stdout] test retention::tests::average_view_duration_full_retention ... ok
[INFO] [stdout] test realtime::tests::window_evicts_old_buckets ... ok
[INFO] [stdout] test retention::tests::average_view_duration_linear_decay ... ok
[INFO] [stdout] test retention::tests::benchmark_constants_values ... ok
[INFO] [stdout] test quantile::tests::tdigest_empty_returns_error ... ok
[INFO] [stdout] test retention::tests::compute_retention_basic ... ok
[INFO] [stdout] test retention::tests::compare_to_benchmark_below_benchmark ... ok
[INFO] [stdout] test retention::tests::compare_to_benchmark_empty_curve ... ok
[INFO] [stdout] test retention::tests::compute_retention_completed_views ... ok
[INFO] [stdout] test retention::tests::compute_retention_empty_sessions ... ok
[INFO] [stdout] test retention::tests::compute_retention_incremental_empty_sessions ... ok
[INFO] [stdout] test retention::tests::drop_off_points_detects_large_drop ... ok
[INFO] [stdout] test retention::tests::content_segment_duration_ms_saturates_on_underflow ... ok
[INFO] [stdout] test retention::tests::drop_off_points_no_drop ... ok
[INFO] [stdout] test retention::tests::incremental_state_add_sessions_incrementally ... ok
[INFO] [stdout] test retention::tests::compute_retention_single_bucket ... ok
[INFO] [stdout] test retention::tests::incremental_state_matches_batch_compute ... ok
[INFO] [stdout] test quantile::tests::tdigest_centroid_count_bounded ... ok
[INFO] [stdout] test retention::tests::content_segment_duration_ms ... ok
[INFO] [stdout] test retention::tests::incremental_state_new_invalid_returns_none ... ok
[INFO] [stdout] test retention::tests::re_watch_segments_none ... ok
[INFO] [stdout] test retention::tests::re_watch_segments_detected ... ok
[INFO] [stdout] test retention::tests::compare_to_benchmark_perfect_match ... ok
[INFO] [stdout] test retention::tests::retention_curve_total_starts_matches_sessions ... ok
[INFO] [stdout] test retention::tests::segment_retention_all_viewers_watch_all_segments ... ok
[INFO] [stdout] test retention::tests::segment_retention_empty_sessions ... ok
[INFO] [stdout] test retention::tests::segment_retention_partial_viewers ... ok
[INFO] [stdout] test session::tests::analyze_session_basic ... ok
[INFO] [stdout] test session::tests::analyze_session_no_end_event ... ok
[INFO] [stdout] test session::tests::build_map_no_events_returns_all_false ... ok
[INFO] [stdout] test retention::tests::segment_retention_empty_segments ... ok
[INFO] [stdout] test session::tests::analyze_session_zero_duration ... ok
[INFO] [stdout] test session::tests::build_map_play_pause_play_end ... ok
[INFO] [stdout] test session::tests::build_map_play_then_end ... ok
[INFO] [stdout] test session::tests::build_map_seek_forward ... ok
[INFO] [stdout] test session::tests::heatmap_empty_sessions ... ok
[INFO] [stdout] test session::tests::heatmap_bucket_positions_correct ... ok
[INFO] [stdout] test session::tests::heatmap_single_session_full_watch ... ok
[INFO] [stdout] test session::tests::heatmap_zero_bucket_ms_returns_empty ... ok
[INFO] [stdout] test session::tests::playback_map_coverage_half ... ok
[INFO] [stdout] test session::tests::playback_map_empty_range_is_noop ... ok
[INFO] [stdout] test session::tests::playback_map_mark_range_basic ... ok
[INFO] [stdout] test session::tests::playback_map_mark_range_clamps_to_capacity ... ok
[INFO] [stdout] test session::tests::viewer_session_new ... ok
[INFO] [stdout] test session::tests::viewer_session_push_event ... ok
[INFO] [stdout] test session::tests::playback_map_coverage_zero_duration ... ok
[INFO] [stdout] test quantile::tests::tdigest_large_dataset_p99 ... ok
[INFO] [stdout] test session::tests::playback_map_coverage_full ... ok
[INFO] [stdout] test cohort::tests::cohort_first_period_viewer_is_in_earliest_cohort ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 188 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oximedia_analytics
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/quantile.rs - quantile::TDigest (line 41) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7130ef58601406c7f2c6575ada359dcc443bf497e557ce025c406a99ee7767e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7130ef58601406c7f2c6575ada359dcc443bf497e557ce025c406a99ee7767e6", kill_on_drop: false }`
[INFO] [stdout] 7130ef58601406c7f2c6575ada359dcc443bf497e557ce025c406a99ee7767e6
